package com.yumi.service.Impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yumi.entity.Task;
import com.yumi.mapper.EmployeeTestMapper;
import com.yumi.service.employeeTestService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

@Service
@Slf4j
public class employeeTestServiceImpl extends ServiceImpl<EmployeeTestMapper, Task> implements employeeTestService {

    /**
     * 分页查询任务
     * @param page 页码
     * @param pageSize 每页数量
     * @param title 任务标题（可选）
     * @param status 任务状态（可选）
     * @return 分页结果
     */
    @Override
    public Page<Task> pageQuery(Integer page, Integer pageSize, String title, Integer status) {
        log.info("分页查询任务，页码：{}，每页数量：{}，标题：{}，状态：{}", page, pageSize, title, status);
        
        // 构建分页对象
        Page<Task> pageInfo = new Page<>(page, pageSize);
        
        // 构建查询条件
        LambdaQueryWrapper<Task> queryWrapper = new LambdaQueryWrapper<>();
        
        // 添加标题过滤条件（如果提供）
        if (StringUtils.hasText(title)) {
            queryWrapper.like(Task::getTitle, title);
        }
        
        // 添加状态过滤条件（如果提供）
        if (status != null) {
            queryWrapper.eq(Task::getStatus, status);
        }
        
        // 添加排序条件（按创建时间降序）
        queryWrapper.orderByDesc(Task::getCreateTime);
        
        // 执行查询并返回结果
        return this.page(pageInfo, queryWrapper);
    }
}